#define _CRT_SECURE_NO_WARNINGS  1
//一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
//一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<stdio.h>
//
//	struct S {
//		char _a : 4;
//		char _b : 5;
//		char _c : 2;
//		char _d : 1;
//	};
//	int main()
//	{
//		struct S s= { 0 };
//		s._a = 10;
//		s._b = 3;
//		s._c = 5;
//		s._d = 3;
//		return 0;
//	}
//int val = 20;//在栈空间上开辟四个字节
//char arr[10] = { 0 };//在栈空间上开辟10个字节的连续空间
//int tem = 39;//在栈空间上开辟4个字节的空间给tem
//char arr[5] = { 0 };//在栈空间上开辟5个字节的连续空间
//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int* p = (int*)malloc(20);
//	if (p == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//	for (int i = 0; i < 5; i++)
//	{
//		printf("%d\n", *(p + i));
//	}
//	return 0;
//
//}
//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int* p= (int *)calloc(10, sizeof(int));
//	if (p == NULL)
//	{
//		perror("calloc");
//		return 0;
//	}
//	for (int i = 0; i < 10; i++)
//	{
//		printf("%d\n", p[i]);
//	}
//
//}
//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int * p= (int *)malloc(40);
//	if (p == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//	for (int i = 0; i < 10; i++)
//	{
//		p[i] = i;
//		printf("%d\n", p[i]);
//	}
//	int *ret = (int*)realloc(p, 8000);
//	if (ret == NULL)
//	{
//		perror("realloc");
//		return 1;
//	}
//	for (int i = 0; i < 20; i++)
//	{
//		printf("%d\n", p[i]);
//	}
//	free(ret);
//	ret = NULL;
//}
//#include<stdio.h>
//#include <stdio.h>
//#define N 2
//#define M N + 1
//#define NUM (M + 1) * M / 2//(3+1)*3/2
//int main()
//{
//	{
//		printf("%d\n", NUM);
//		return 0;
//	}
//	return 0;
//
//}
//#include<stdio.h>
//int main()
//{
//	int a = 3;
//	printf("%d\n", (a += a -= a * a));
//	return 0;
//}
// SeqList.h
//#pragma once
//#include <stdio.h>
//#include <assert.h>
//#include <stdlib.h>
//
//typedef int SLDateType;
//typedef struct SeqList
//{
//	SLDateType* a;
//	int size;
//	int capacity;
//}SeqList;
//
//// 对数据的管理:增删查改 
//void SeqListInit(SeqList* ps);
//void SeqListDestroy(SeqList* ps);
//
//void SeqListPrint(SeqList* ps);
//void SeqListPushBack(SeqList* ps, SLDateType x);
//void SeqListPushFront(SeqList* ps, SLDateType x);
//void SeqListPopFront(SeqList* ps);
//void SeqListPopBack(SeqList* ps);
//
//// 顺序表查找
//int SeqListFind(SeqList* ps, SLDateType x);
//// 顺序表在pos位置插入x
//void SeqListInsert(SeqList* ps, int pos, SLDateType x);
//// 顺序表删除pos位置的值
//void SeqListErase(SeqList* ps, int pos);
